home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / powerd / source / lib / powerd_lib.lha / PowerD_PPC / EStrCopy.ass < prev    next >
Text File  |  2000-10-22  |  438b  |  30 lines

  1.  
  2. # EStrCopy(r3:PTR TO CHAR,r4:PTR TO CHAR,r5=-1:LONG)
  3.  
  4.     .text
  5.     .global    _EStrCopy
  6.  
  7. _EStrCopy:
  8.     mr.    r5,r5
  9.     bge    .getlen
  10.     lhz    r5,-4(r3)
  11. .getlen:    mr    r7,r5
  12.     mr    r6,r3
  13.     subi    r6,r6,1
  14.     subi    r4,r4,1
  15. .loop:    lbzu    r0,1(r4)
  16.     stbu    r0,1(r6)
  17.     mr.    r0,r0
  18.     beq    .stop
  19.     subi    r5,r5,1
  20.     mr.    r5,r5
  21.     bne    .loop
  22.     li    r0,0
  23.     stb    r0,1(r6)
  24. .stop:    sub    r7,r7,r5
  25.     sth    r7,-2(r3)
  26.     blr            # r3 contains dest string pointer
  27.  
  28.     .type    _EStrCopy,@function
  29.     .size    _EStrCopy,$-_EStrCopy
  30.